merge

infix fun IntRange.merge(other: IntRange): IntRange(source)

Creates a union of this and the other range if they overlap, otherwise returns IntRange.EMPTY.

Samples

import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.shl
import dev.kikugie.commons.ranges.shr
import dev.kikugie.commons.ranges.contains
import dev.kikugie.commons.ranges.overlaps
import dev.kikugie.commons.ranges.cross
import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.merge
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue

fun main() { 
   //sampleStart 
   assertEquals(1..4, 1..3 merge 2..4)
assertEquals(IntRange.EMPTY, 1..3 merge 5..9) 
   //sampleEnd
}

Creates a union of this and the other range if they overlap, otherwise returns LongRange.EMPTY.

Samples

import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.shl
import dev.kikugie.commons.ranges.shr
import dev.kikugie.commons.ranges.contains
import dev.kikugie.commons.ranges.overlaps
import dev.kikugie.commons.ranges.cross
import dev.kikugie.commons.ranges.extend
import dev.kikugie.commons.ranges.merge
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue

fun main() { 
   //sampleStart 
   assertEquals(1..4, 1..3 merge 2..4)
assertEquals(IntRange.EMPTY, 1..3 merge 5..9) 
   //sampleEnd
}